package swap

import (
	"fmt"
	"os/exec"
)

func MakeSwap() {
	// 使用dd命令创建一个指定大小的文件作为swap分区
	createSwapFile := exec.Command("dd", "if=/dev/zero", "of=/swapfile", "bs=1G", "count=10")
	if err := createSwapFile.Run(); err != nil {
		fmt.Printf("Error creating swap file: %s\n", err)
		return
	}

	// 使用mkswap命令设置刚创建的文件为swap分区
	makeSwap := exec.Command("mkswap", "/swapfile", "-L", "my_swap")
	if err := makeSwap.Run(); err != nil {
		fmt.Printf("Error setting up swap: %s\n", err)
		return
	}

	// 启用新创建的swap分区
	enableSwap := exec.Command("swapon", "/swapfile")
	if err := enableSwap.Run(); err != nil {
		fmt.Printf("Error enabling swap: %s\n", err)
		return
	}

	fmt.Println("Swap partition created and enabled.")
}
